
import BackendjsFunctions from '@/core/BackendjsFunctions.js'
import { backendjsFunctions } from '@/core/functions.js'

export default {
  /**
   * 对底部区域底部容器的设置
   * @param {*} bjContainerFooterbox 即传入到底部容器编辑区域的数据，其中 bjContainerFooterbox._other._tmpId 为识别底部器标识
   * @returns
   */
  setFooterContainerFooterbox (bjContainerFooterbox) {
    BackendjsFunctions._verification('setFooterContainerFooterbox')
    return new Promise((resolve, reject) => {
      try {
        backendjsFunctions().setFooterContainerFooterbox(bjContainerFooterbox)
        resolve(bjContainerFooterbox)
      } catch (error) {
        reject(error)
      }
    })
  },
  /**
   * 在页面的底部区域对底部器或者容器增加栅格
   * form : {
      position: number 增加位置 -1 顶部 , -2 底部
      girdtype: 栅格 col 对应的参数
      col: number多少列
      parentBoxTmpId: 对应的添加父级容器临时ID
    }
    * @returns false 或 删除后的 col 数据
    */
  addFooterContainerCol (form) {
    BackendjsFunctions._verification('addFooterContainerCol')
    try {
      return backendjsFunctions().addFooterContainerCol(form)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 判断是否能删除底部容器区域的栅格，如果栅格的父级只剩下一个栅格的时候会返回false
   * @param {*} tmpId 删除栅格的标识
   * @returns boolean
   */
  isDelFooterContainerCol (tmpId) {
    BackendjsFunctions._verification('isDelFooterContainerCol')
    try {
      return backendjsFunctions().isDelFooterContainerCol(tmpId)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 删除底部容器区域的栅格，如果栅格的父级只剩下一个栅格的时候会返回false
   * @param {*} tmpId 删除栅格的标识
   * @returns false 或 删除后的 col 数据
   */
  delFooterContainerCol (tmpId) {
    BackendjsFunctions._verification('delFooterContainerCol')
    try {
      return backendjsFunctions().delFooterContainerCol(tmpId)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 底部区域 对排序好的的栅格数据传入到 backendjs 段进行写入排序，同时如果排序写入正常返回传入的参数数据
   * @param {*} dtcols
   * @returns
   */
  sortFooterContainerCol (dtcols) {
    BackendjsFunctions._verification('sortFooterContainerCol')
    try {
      return backendjsFunctions().sortFooterContainerCol(dtcols)
    } catch (error) {
      console.error(error)
    }
    return null
  }
}
